/*
 * IrregularVerbs.java
 *
 * Created on 3. Juni 2007, 22:08
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package wordspaces;

import java.util.HashMap;

/**
 *
 * @author alexander
 */
public class IrregularVerbs {
    
    private HashMap<String,String> map;
    
    /** Creates a new instance of IrregularVerbs */
    public IrregularVerbs() {
        map = new HashMap<String,String>();
        
        map.put("awoke","awake");
        map.put("awoken","awake");
        map.put("was","be");
        map.put("were","be");
        map.put("been","be");
        map.put("bore","bear");
        map.put("became","become");
        map.put("began","begin");
        map.put("begun","begin");
        map.put("bent","bend");
        map.put("bade","bid");
        map.put("bidden","bid");
        map.put("bound","bind");
        map.put("bit","bite");
        map.put("bitten","bite");
        map.put("bled","bleed");
        map.put("blew","blow");
        map.put("blown","blow");
        map.put("broke","break");
        map.put("broken","break");
        map.put("bred","breed");
        map.put("brought","bring");
        map.put("built","build");
        map.put("burned","burn");
        map.put("burnt","burn");
        map.put("bought","buy");
        map.put("caught","catch");
        map.put("chose","choose");
        map.put("chosen","choose");
        map.put("clung","cling");
        map.put("came","come");
        map.put("crept","creep");
        map.put("dealt","deal");
        map.put("dug","dig");
        map.put("dived","dive");
        map.put("dove","dive");
        map.put("did","do");
        map.put("done","do");
        map.put("drew","draw");
        map.put("drawn","draw");
        map.put("dreamed","dream");
        map.put("dreamt","dream");
        map.put("drove","drive");
        map.put("driven","drive");
        map.put("drank","drink");
        map.put("drunk","drink");
        map.put("ate","eat");
        map.put("eaten","eat");
        map.put("fell","fall");
        map.put("fallen","fall");
        map.put("fed","feed");
        map.put("felt","feel");
        map.put("fought","fight");
        map.put("found","find");
        map.put("fled","flee");
        map.put("flung","fling");
        map.put("flew","fly");
        map.put("flown","fly");
        map.put("forbade","forbid");
        map.put("forbidden","forbid");
        map.put("forgot","forget");
        map.put("forgotten","forget");
        map.put("forewent","forego");
        map.put("foregone","forego");
        map.put("forgave","forgive");
        map.put("forgiven","forgive");
        map.put("forsook","forsake");
        map.put("forsaken","forsake");
        map.put("froze","freeze");
        map.put("frozen","freeze");
        map.put("got","get");
        map.put("gotten","get");
        map.put("gave","give");
        map.put("given","give");
        map.put("went","go");
        map.put("gone","go");
        map.put("ground","grind");
        map.put("grew","grow");
        map.put("grown","grew");
        map.put("hung","hang");
        map.put("heard","hear");
        map.put("hid","hide");
        map.put("hidden","hide");
        map.put("held","hold");
        map.put("kept","keep");
        map.put("knelt","kneel");
        map.put("knew","know");
        map.put("laid","lay");
        map.put("led","lead");
        map.put("leaped","leap");
        map.put("lept","leap");
        map.put("learned","learn");
        map.put("learnt","learn");
        map.put("left","leave");
        map.put("lent","lend");
        map.put("lay","lie");
        map.put("lain","lie");
        map.put("lit","light");
        map.put("lighted","light");
        map.put("lost","lose");
        map.put("made","make");
        map.put("meant","mean");
        map.put("met","meet");
        map.put("misspelled","misspell");
        map.put("misspelt","misspell");
        map.put("mistook","mistake");
        map.put("mistaken","mistake");
        map.put("mowed","mow");
        map.put("mown","mow");
        map.put("overcame","overcome");
        map.put("overdid","overdo");
        map.put("overdone","overdo");
        map.put("overtook","overtake");
        map.put("overtaken","overtake");
        map.put("overthrew","overthrow");
        map.put("overthrown","overthrow");
        map.put("paid","pay");
        map.put("pled","plead");
        map.put("proved","prove");
        map.put("proven","prove");
        map.put("rode","ride");
        map.put("ridden","ride");
        map.put("rang","ring");
        map.put("rung","ring");
        map.put("rose","rise");
        map.put("risen","rise");
        map.put("ran","run");
        map.put("sawed","saw");
        map.put("sawn","saw");
        map.put("said","say");
        map.put("saw","see");
        map.put("seen","see");
        map.put("sought","seek");
        map.put("sold","sell");
        map.put("sent","send");
        map.put("sewed","sew");
        map.put("sewn","sew");
        map.put("shook","shake");
        map.put("shaken","shake");
        map.put("shaved","shave");
        map.put("shaven","shave");
        map.put("shore","shear");
        map.put("shorn","shear");
        map.put("shone","shine");
        map.put("shoed","shoe");
        map.put("shod","shoe");
        map.put("shot","shoot");
        map.put("showed","show");
        map.put("shown","show");
        map.put("shrank","shrink");
        map.put("shrunk","shrink");
        map.put("sang","sing");
        map.put("sung","sing");
        map.put("sank","sink");
        map.put("sunk","sink");
        map.put("sat","sit");
        map.put("slept","sleep");
        map.put("slew","slay");
        map.put("slain","slay");
        map.put("slid","slide");
        map.put("slung","sling");
        map.put("smote","smite");
        map.put("smitten","smite");
        map.put("sowed","sow");
        map.put("sown","sow");
        map.put("spoke","speak");
        map.put("spoken","speak");
        map.put("sped","speed");
        map.put("spent","spend");
        map.put("spilled","spill");
        map.put("spilt","spill");
        map.put("spun","spin");
        map.put("spat","spit");
        map.put("sprang","spring");
        map.put("sprung","spring");
        map.put("stood","stand");
        map.put("stole","steal");
        map.put("stolen","steal");
        map.put("stuck","stick");
        map.put("stung","sting");
        map.put("stank","stink");
        map.put("stunk","stink");
        map.put("strod","stride");
        map.put("stridden","stride");
        map.put("struck","strike");
        map.put("strung","string");
        map.put("strove","strive");
        map.put("striven","strive");
        map.put("swore","swear");
        map.put("sworn","swear");
        map.put("swept","sweep");
        map.put("swelled","swell");
        map.put("swollen","swell");
        map.put("swam","swim");
        map.put("swum","swim");
        map.put("swung","swing");
        map.put("took","take");
        map.put("taken","take");
        map.put("taught","teach");
        map.put("tore","tear");
        map.put("torn","tear");
        map.put("told","tell");
        map.put("thought","think");
        map.put("thrived","thrive");
        map.put("throve","thrive");
        map.put("threw","throw");
        map.put("thrown","throw");
        map.put("trod","tread");
        map.put("trodden","tread");
        map.put("understood","understand");
        map.put("upheld","uphold");
        map.put("woke","wake");
        map.put("woken","wake");
        map.put("wore","wear");
        map.put("worn","wear");
        map.put("weaved","weave");
        map.put("wove","weave");
        map.put("woven","weave");
        map.put("wept","weep");
        map.put("wound","wind");
        map.put("won","win");
        map.put("withheld","withhold");
        map.put("withstood","withstand");
        map.put("wrung","wring");
        map.put("wrote","write");
        map.put("written","write");
    }
    
    public String getBaseForm(String word){
        if(map.containsKey(word)){
            return map.get(word);
        }
        else return null;
    }
    
}
